Skip to content

Add tests for controller restart behaviour.#71

Merged
samuel-williams-shopify merged 1 commit into
mainfrom
restart-behaviour-tests
Jul 1, 2026
Merged

Add tests for controller restart behaviour.#71
samuel-williams-shopify merged 1 commit into
mainfrom
restart-behaviour-tests

Conversation

@samuel-williams-shopify

@samuel-williams-shopify samuel-williams-shopify commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Locks in the current #restart behaviour before refactoring signal/restart handling. Test-only, additive.

Coverage added (with "#restart")

  1. Blue-green replacerestart on a running controller creates a new container and swaps it in (the container object is replaced), stopping the old one.
  2. Start-when-not-runningrestart starts a container if none is running.

Note

Restart is a replace operation (blue-green): children are recreated wholesale, so restart does not propagate into live children/sub-controllers. Accordingly this PR intentionally does not pin any cross-thread Thread#raise(Restart) propagation behaviour — that path (Child#restart!) is a candidate for removal, and propagation semantics belong to reload, not restart.

Reload reconciliation coverage (add/remove keyed children) is handled in a separate PR.

Assisted-By: devx/904563b8-dbee-48b0-9726-f036df3ed96d
@samuel-williams-shopify samuel-williams-shopify changed the title Add tests for controller restart behaviour Add tests for controller restart behaviour. Jul 1, 2026
@samuel-williams-shopify samuel-williams-shopify merged commit 03b1fa4 into main Jul 1, 2026
34 of 40 checks passed
@samuel-williams-shopify samuel-williams-shopify deleted the restart-behaviour-tests branch July 1, 2026 06:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant